package com.nhncorp.pleiades.client;

import java.util.Map;

public interface EventFilter {
  
  public static enum Operator {
    EQ, /** equality operator */
    LT, /** less than operator */
    GT, /** greater than operator */
    GE, /** greater o equal operator */
    LE, /** less or equal operator */
    PF, /** has prefix operator */
    SF, /** has suffix operator */
    ANY, /** any operator, this is default */
    NE, /** not equal operator */
    SS /** substring operator */
  }
  
  public void addConstraint(EventFilter.Operator operator, String key);
  
  public void addConstraint(Map<EventFilter.Operator, String> constraintMap);
  
  public void addConstraint(Constraint con);
  
  public void removeConstraint(EventFilter.Operator operator);
  
  public void removeConstraint(Constraint con);
  
  public void removeAll();
  
  public String getConstraintKeyword(EventFilter.Operator operator);
  
  public Map<EventFilter.Operator, String> getAllConstraints();
  
}
